/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.nxlv2.nomad.accessdb.dao;

import com.nxlv2.nomad.businessobjects.Adresse;
import com.nxlv2.nomad.businessobjects.Article;
import com.nxlv2.nomad.businessobjects.Client;
import com.nxlv2.nomad.businessobjects.Commande;
import com.nxlv2.nomad.businessobjects.Contact;
import com.nxlv2.nomad.businessobjects.Demande;
import com.nxlv2.nomad.businessobjects.Utilisateur;
import java.util.List;

/**
 *
 * @author Nastasia
 */
public interface IClientDao {
    void saveClient (Client client) throws DAOException;
    void deleteClient(int id)throws DAOException;
    void updateClient(Client client)throws DAOException;
    Client findClientById (int id) throws DAOException;
    Client findClientByIdbase (int id) throws DAOException;

    List<Contact> getContactsParClient(Client client) throws DAOException;    
    List<Contact> getContactsMajParClient(Client client) throws DAOException;    
    void lierContactAClient(Contact contact, Client client)throws DAOException;
    
    List<Adresse> getAdressesParClient(Client client) throws DAOException;
    List<Adresse> getAdressesMajParClient(Client client) throws DAOException;
    void lierAdresseAClient(Adresse adresse, Client client)throws DAOException;
    
    List<Article> getArticlesParClient(Client client) throws DAOException;
    List<Article> getArticlesMajParClient(Client client) throws DAOException;
    void lierArticleAClient(Article article, Client client)throws DAOException;
    
    List<Commande> getCommandesParClient(Client client) throws DAOException;
    List<Commande> getCommandesMajParClient(Client client) throws DAOException;
    void lierCommandeAClient(Commande commande, Client client) throws DAOException;
    
    List<Demande> getDemandesParClient(Client client) throws DAOException;
    List<Demande> getDemandesMajParClient(Client client) throws DAOException;
    void lierDemandeAClient(Demande demande, Client client)throws DAOException;

    public boolean existNom(String nom, Utilisateur user);
   
}
